<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // arguments ->  函数的内置参数 ->  每个函数都有  -> 函数调用时,用于存放实际参数的集合
    // this  -> 函数的内置参数 ->  每个函数都有 -> 指向函数调用时依存的对象
    // 1. 普通函数(命名函数 匿名函数 嵌套函数) 直接调用时 this默认->window(函数调用时没有依存于对象)
    // 2. 函数在调用时属于谁 就指向谁(有依存的对象)

    // 函数调用时没有依存于对象
    // function fn() {
    //     console.log("this指向", this);
    // }

    // fn();

    // var fn = function () {
    //     console.log("this指向", this);
    // }
    // fn();

    // 函数调用时有依存于对象   对象.函数名()
    var arr = [1, 2, 3, function () {
        console.log("this指向", this);
    }]

    var obj = {
        a: 1,
        b: 2,
        say: function () {
            console.log("this指向", this);
            console.log("this指向", this.a, this.b);
        }
    }

    // 页面加载时绑定事件  -> 点击时触发 (浏览器监听到用户的点击动作会触发对应的函数)
    document.onclick = function () {
        console.log("this指向", this); //事件中的this -> 绑定事件的元素
    }

    // console.log(arr[3]);
    // arr[3]();

    // console.log(obj.say);
    // obj.say();




</script>

</html>